package org.jsola.hr.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.jsola.core.dto.BaseDTO;

import javax.validation.constraints.NotNull;

/**
 * @author wxz
 */
@EqualsAndHashCode(callSuper = true)
@ApiModel(description = "【修改打卡状态】列表展示对象")
@Data
public class PunchStatusUpdateDTO extends BaseDTO {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(notes = "员工ID", example = "", required = true)
    @NotNull(message = "员工ID不能为空")
    private String empInfoId;

    @ApiModelProperty(notes = "考勤规则ID", example = "", required = true)
    @NotNull(message = "考勤规则ID不能为空")
    private String attendPlanId;

    @ApiModelProperty(notes = "年", example = "", required = true)
    @NotNull(message = "年不能为空")
    private String yearly;

    @ApiModelProperty(notes = "月", example = "", required = true)
    @NotNull(message = "月不能为空")
    private String monthly;

    @ApiModelProperty(notes = "日", example = "", required = true)
    @NotNull(message = "日不能为空")
    private String daily;

    /** 时间点 */
    @ApiModelProperty(notes = "时间点", example = "", required = true)
    @NotNull(message = "时间点不能为空")
    private String timePoint;

    /** 上班或下班状态 */
    @ApiModelProperty(notes = "打卡状态;0-无效打卡,1-正常,2-迟到,3-早退,6-异常", example = "", required = true)
    @NotNull(message = "打卡状态不能为空")
    private Integer workStatus;

    /** 打卡人员月统计ID */
    @ApiModelProperty(notes = "打卡人员月统计ID", example = "", required = true)
    @NotNull(message = "打卡人员月统计ID不能为空")
    private String peopleMonthlyStatId;

    /** 时间段字符串 */
    @ApiModelProperty(notes = "时间段字符串", example = "", required = true)
    @NotNull(message = "时间段字符串不能为空")
    private String period;
}
